Skip to content

[draft, do not review] IBuildEngineCallbacks in taskhosts#12991

Draft
JanProvaznik wants to merge 14 commits intodotnet:mainfrom
JanProvaznik:taskhost-callbacks-impl
Draft

[draft, do not review] IBuildEngineCallbacks in taskhosts#12991
JanProvaznik wants to merge 14 commits intodotnet:mainfrom
JanProvaznik:taskhost-callbacks-impl

Conversation

@JanProvaznik
Copy link
Member

Fixes #12863

#12868

  • attempted implementation with subtask descriptions

Context

required for wpf support in multithreaded mode

Changes Made

split the plan to subtasks, attempted implementation by agents

Testing

includes unit and integration tests

Notes

@JanProvaznik JanProvaznik changed the title [draft, do not review] callbacks [draft, do not review] IBuildEngineCallbacks in taskhosts Jan 8, 2026
@JanProvaznik JanProvaznik self-assigned this Jan 9, 2026
@JanProvaznik
Copy link
Member Author

confirmed this can build wpf template and Roslyn.sln from the original issue 😏

JanProvaznik added a commit to JanProvaznik/msbuild that referenced this pull request Jan 29, 2026
Implements callback infrastructure for TaskHost IBuildEngine callbacks:
- Add packet type enum values for TaskHost callbacks (0x20-0x27 range)
- Create ITaskHostCallbackPacket interface for request/response correlation
- Add TaskHostQueryRequest/Response packets for property queries
- Implement IsRunningMultipleNodes forwarding in OutOfProcTaskHostNode
- Handle query requests in TaskHostTask (parent side)
- Add integration tests for IsRunningMultipleNodes callback

This enables tasks running in TaskHost to correctly query whether
the build is running with multiple nodes, which is needed for
multithreaded mode (-mt) support.

Cherry-picked and adapted from PR dotnet#12991 (subtasks 1-2)
Fixes part of dotnet#12863
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TaskHost Does Not Support Critical IBuildEngine Callbacks

1 participant